This month i'd like to introduce a new utility, the DevCD SSW Catalog (located in the System Software folder). This catalog contains information about system software on Developer CDs back to Volume 1. Now, if you think i've forgotten to ship Elbonian System 7.5.4, instead of plugging your entire collection of DevCDs into your drive looking for it, a simple search can determine almost instantly which CDs the software is (or is not) on. Please try it out, and send any comments and feedback to me at alyx@apple.com.
Now, a brief word about system software version numbers. Some of you may occasionally wonder what a folder name like "Norwegian 2-1.0.1-7.5.3" actually means. The last number (7.5.3) is the name of the software; for example, System Software 7.5.3. The middle number (if present) is the software version ; in this case, the software has been revised once since the original release. Finally, the first number is the localization version ; this refers to changes in the localizable strings in the software, but not the code.
So, in addition to updates to ColorSync 2.0.1, Interfaces & Libraries, Macintosh CD-ROM Setup, QuickDraw GX, ScriptX, and the Sound Manager, here are this month's new and revised packages.
Apple Game Sprockets DR5: This folder contains version DR5 of the Apple Game Sprockets, a bunch of technologies designed so game developers can spend more time making games cool than making them work. This package also includes the QuickDraw 3D RAVE SDK.
JPEG Sample: The enclosed is a demo/sample application for QuickTime JPEG compression. Among other things, it can open a JPEG file, allow the user to view the image, and save the image back to disk. The code is not fully polished or documented, so be prepared to find some bugs. If you need to read, write, and view JPEG images then this source should be very useful.
Live Scroll 1.0: "Live Scroll" is a bare bones application demonstrating one approach you can take to implementing live scrolling (aka active and dynamic scrolling) during the tracking of scroll bar thumbs. Scroll arrows allow accurate placement of a document within its window, but are often too slow when the user wishes to scroll the content relatively large distances. While the scroll thumb can be used in this situation, it is less than ideal because the user cannot see the result of the scroll until the thumb is released. As a result, the user often finds that two or more scroll operations are required before the desired positioning is achieved. These problems can be overcome by implementing live scrolling within an application which allows a user to more accurately scroll a document to the correct position with direct control over the speed of the scrolling, and by providing complete visual feedback of the scrolling operation as it occurs. It also demonstrates the two different types of action procedure (both for 68K and PowerPC architectures), and the use of the new accessor routines which are provided as the first step to being Copland-savvy.
Mac OS 8 Overview: An overview of the technologies, features and benefits of Mac OS 8. In addition to describing all key features of Mac OS 8, this Acrobat file includes color screen shots and diagrams of the new operating system.
Mac OS 8 Tour: The Mac OS 8 Tour is an interactive demonstration designed to introduce the viewer to Mac OS 8 features and benefits. It includes demos of capabilities such as multitasking, Find by Content, on-line experts, and new Finder features.
Network Watch (DMZ) v1.5: The DMZ program demonstrates NBP Lookup calls under both Open Transport and Classic AppleTalk to obtain a list of all NBP entities by zone. User can specify the lookup for specific objects and types. Program also demonstrates how one sends AppleTalk Echo protocol packets to a specified system, and to receive the return Echo protocol response.
DMZ checks for the presence of Open Transport and uses it to perform network lookups, otherwise, the Preferred AppleTalk calls are used. Under DMZ, the program demonstrates the use of placing the DDP node, used to send the Echo protocol packet, into raw mode, so that the return packet contains the long DDP header information.
Open Transport 1.1GM: Apple Open Transport is the modern networking and communications subsystem for the Mac OS. It is based on industry standards and brings a new level of networking connectivity, control, and compatibility to Mac OS computers, while preserving and enhancing the hallmark of the Macintosh and Mac OS – built-in support for easy-to-use networking.
This release features the Open Transport 1.1GM and 1.1b16 Installer and Debug Installer, plus Software Development Kit. See the document "About this folder" for details.
OpenDoc: OpenDoc is an open industry standard architecture for building reusable, distributed, cross-platform software. This release includes OpenDoc™ 1.0.4, documentation, development essentials and sample code.
OpenDoc is both a specification and a set of technologies used to build components. Developers who build their aplications consistent with the OpenDoc architecture can provide software that integrates and cooperates with other OpenDoc software.
With OpenDoc, software developers can provides specialized solutions to meet each customer's specific need. OpenDoc enables our software developers to build more powerful, higher-quality software in less time than it took to develop traditional monolithic applications.
OpenDoc Development Framework: In this folder you will find the OpenDoc Development Framework (ODF) Release 1. This release supports OpenDoc 1.0.x for Macintosh only. If you want to do Windows part development, you should use the ODF 1.0d8 release, which supports both OpenDoc DR1 for Windows and OpenDoc DR2 for Macintosh. The OpenDoc API changed so much since DR1 that it became impractical for us to continue to support both APIs in the same code base. We are still committed to supporting OpenDoc for Windows when that API reaches a level that allows us to do so.
Since our 1.0d11 release of ODF on the OpenDoc DR4 CD we've moved portions of ODF into a SOM-based shared library to reduce the size of resulting sample parts and provide better code re-use. Currently, this library contains most of the Foundation and OS layers. As development continues we will attempt to move more of the framework into this shared library. As a result of this move, you should be aware that this release requires your parts to be dynamically linked to the ODFLibrary.
See the document "ODF D11 Read Me" for further details.
PC Card Manager: PC Card Manager Software Development Kit for PowerBook 5300 and 190 series. Also for PowerBook 500 series machines with the PCMCIA Expansion Module. Includes system interfaces, Power PC library, full Acrobat documentation plus sample code to get started with PC Card software development.
QuickDraw 3D 1.0.6: QuickDraw 3D is a cross platform 3D graphics library developed by Apple Computer. Enclosed, you will find the 1.0.6 release of QuickDraw 3D for MacOS™.
QuickDraw 3D goes beyond providing 3D graphics; it provides an integrated solution both for the end user and for developers. QuickDraw 3D encompasses a standard file format (3DMF), acceleration layer, input architecture, high level geometries, and extensibility.
QuickDraw 3D is a shared library for PowerPC™ based computers running the MacOS. The API is in C, with support for development using C++. QuickDraw 3D allows for immediate mode and retained rendering. The API is object based and provides a large number of geometry types. The file format accomodates both text and binary modes, with encoding for endianess so that files can be transported to other platforms.
Note: This is NOT AN APPLE PRODUCT. It is provided on an AS-IS basis. Apple is not responsible for any problems you may encounter in its use.
Snippets Update: This folder contains six new and revised code snippets from DTS.
• Calc ControlRgn
A snippet that shows how to call a CDEF to have it return the Control's Region. Works for both PowerPC and 68K code.
• LaunchWithSize
Will launch an application using a memory partition it sets rather than the one in the application's SIZE resource. Patches Get1Resource to watch for the SIZE resource and then changes it so that LaunchApplication creates a different size memory partition than what the app asked for. This is useful for multimedia developers who ship on CD ROM but want to adjust the size of their SIZE resource depending on available memory, CPU, etc.
• ModifyMouseAccl
ModifyMouseAccl demonstrates the use of the CursorDeviceManager to adjust the mouse acceleration setting for the standard Apple mouse. This quick sample obtains the CDM record associated with the standard mouse, saves the acceleration settings, then replaces the settings with some custom values defined in the program. There is the option to specify a tablet like setting, or one which makes the mouse extremely sensitive to movement. Set the define NOACCLCURVE to the desired value. A discussion of the acceleration resource is provided in the Space Aliens ADB Tech Note.
Once the new values are set, the program makes the CursorDeviceSetAcceleration call, to have the Cursor Device Manager calculate the new acceleration curves to be used by the cursor draw routine. After waving the mouse around to see that the new acceleration curve is in effect, press the mouse button to have the program restore the original acceleration settings, and to quit the program.
Note that there is the included glue file CursorDevices.Glue.c. This glue file is used in conjunction with the CursorDevices.h header file which became available since ETO 18. Use this glue file to link a native PPC program with the CursorDevice Manager routines.
• NoPowerOffKey 1.2
This extension disables the keyboard power key from being used to turn off a Macintosh. Starting with System 7.5, you can turn off power by pressing the power key, just as you turn on the Macintosh by pressing the power key. This behavior isn't appropriate for some classroom or kiosk settings. Therefore, this extension exists. Drop it into your system folder and restart.
Version 1.2 fixes a minor concern, removes one line of assembly, and adds a Finder help string, so that turning on balloon help and pointing at this extension explains what the extension does. (Technogeek for "minor concern"; my definition of the UniversalProcPtr for the PowerOff gestalt function didn't include space for a return code. I was using a prerelease of the System 7.5.3 tech note. It shouldn't have caused any problems, but I'm being anal.)
• PrintDialogMagic
A short example of how to avoid having the print dialogs wait for user response (useful for automated printing).
• SndPlayDoubleBuffer
A complete sample on how to use SndPlayDoubleBuffer() to read a sound from disk. Shows how to parse an AIFF, AIFC, .au, 'snd ' resource, and WAVE header. Shows how to read a resource map without using the Resource Manager. Shows how to use completion routines and callbacks. Shows how to stop and start playing a sound from anywhere within the file.
Reads and plays AIFF, AIFC, .au, 'snd ' resources, and WAVE files while allowing random access within a sound, much like QuickTime does. Uses the SimpleApp framework to shield the Mac interface code, leaving only the important sample.
SoundApp: SoundApp is a sample application for demonstrating the Sound Manager. It comes in two parts: SoundApp.c and SoundUnit.c. SoundApp.c handles the application's management of memory, errors, user interface, etc. It requires the use of the SoundUnit.c to handle all of the sound routines. SoundUnit code handles the Sound Manager part of the application. You can use this stand-alone unit in your own application.
Speech Recognition Manager: This folder contains version 1.5 of the Apple's new Speech Recognition Manager. Version 1.5 of the Speech Recognition extension embodies the first officially supported developer release of the Speech Recognition Manager.
The draft documentation included with this note, "Speech Recognition Manager" in the "SR 1.5 Documentation" folder, describes version 1.5 of the Speech Recognition extension and the API and toolbox it embodies. Version 1.5 contains many features that were not available in version 1.4.1 or earlier versions of the extension.
Input from early adopters of Apple's speech recognition technology has greatly improved the Speech Recognition Manager API. If you find bugs in the extension or documentation, please use the Apple Bug Reporter stack. Include the version information in the problem description and send to:
Internet: apple.bugs@applelink.apple.com
AppleLink: APPLE.BUGS
See the document " READ ME FIRST!" for details.
Speech Synthesis Manager: This folder contains information that tells developers how to use Apple's English and Spanish text-to-speech software to let applications talk. It replaces an earlier package entitled "Text-to-Speech", and contains everything a developer needs to get started using Apple's Speech Synthesis Manager: Documentation, Interfaces, new Sample Code, Libraries, Speech Synthesis system extensions and Installer Sources.
Developers can obtain a free license to distribute this software with their applications. Contact Apple's licensing group for more information about licensing Apple software.
Phone: 512-919-2645
AppleLink: SW.LICENSE
Internet: SW.LICENSE@applelink.apple.com
STD File Saver 2.1: StdFileSaver is a sample print driver written in C. It's based upon the STD File Saver 1.1 sample in Pascal that has been the only print driver sample available since 1991. It writes to PICT resources, so it's not too useful as is, but illustrates what needs to be done with a minimum of extra gunk.
WASTE 1.2a7: WASTE is a text editing library for Macintosh programmers. Designed to be a viable replacement for TextEdit, WASTE offers several enhancements, the major one being the ability to handle text files larger than 32K. Like TextEdit, WASTE handles multi-styled text and relies on the services offered by the Script Manager for drawing, measuring and hit-testing the text and for finding word and line breaks. The built-in support for inline input makes WASTE fully WorldScript II- compliant (on the other hand, bidirectional scripts, like Arabic, are not supported).
Note: This is NOT AN APPLE PRODUCT. It is provided on an AS-IS basis. Apple is not responsible for any problems you may encounter in its use.